//
//  DQtabBarController.m
//  DQBaisibudejie
//
//  Created by 杜倩 on 16/8/29.
//  Copyright © 2016年 杜倩. All rights reserved.
/*
 修改图片的渲染
 ：两种方式：1、storyboard--界面上设置属性 2、纯代码
 
 搭建基本框架--->设置tabbar-->nav导航条
 */

#import "DQtabBarController.h"
#import "DQPublishViewController.h"
#import "DQNewViewController.h"
#import "DQMeViewController.h"
#import "DQFriendTrendsViewController.h"
#import "DQEssenceViewController.h"
#import "UIImage+image.h"
#import "DQNavigationController.h"
#import "DQTabbar.h"
//基本的框架-->设置tabbar
@interface DQtabBarController ()


@end

@implementation DQtabBarController


#pragma mark 在控制器将要出现的时候添加按钮
//-(void)viewWillAppear:(BOOL)animated{
//首先调用一下父类的控制器
//    [super viewWillAppear:animated];
//    //添加
//    [self.tabBar addSubview:self.button];
//}


- (void)viewDidLoad {
    [super viewDidLoad];
    //发表
        // 置换系统的tabbar--使用自己定义的
    //当出现只读--只能取值，不能赋值，使用KVC来设置
    //self.tabBar = [[DQTabbar alloc] init];
    //KVC value：对象  key:属性
    [self setValue:[[DQTabbar alloc] init] forKey:@"tabBar"];
    
    
    
    /*
     有四个  UINavigationController
     */
    
    //1、精华的控制器
    DQEssenceViewController *essence=[[DQEssenceViewController alloc] init];
    [self addChildController:essence andTitle:@"精华" andImae:@"tabBar_essence_icon" andSelectImage:@"tabBar_essence_click_icon"];
    
    //2、最新的控制器
    DQNewViewController *new=[[DQNewViewController alloc] init];
    [self addChildController:new andTitle:@"最新"andImae:@"tabBar_new_icon"  andSelectImage:@"tabBar_new_click_icon"];

    // 发表--不是tabbar，只需加载按钮就可以
//    DQPublishViewController *publish=[[DQPublishViewController alloc] init];
//    publish.tabBarItem.image=[UIImage imageNamed:@"tabBar_publish_icon"];
//    UIImage *image=[UIImage imageRender:@"tabBar_publish_click_icon"];
//    publish.tabBarItem.selectedImage=image;
//    //内边距
//    publish.tabBarItem.imageInsets=UIEdgeInsetsMake(5, 0, -5, 0);//tabBar 49  Nav 44
//    
//    [self addChildViewController:publish];
   
    //占位控制器--为发表按钮占位
    //[self addChildViewController:[[UIViewController alloc] init]];
    
    
// 3、关注的控制器
    DQFriendTrendsViewController *FriendTrends=[[DQFriendTrendsViewController alloc] init];
    [self addChildController:FriendTrends andTitle:@"关注" andImae:@"tabBar_friendTrends_icon" andSelectImage:@"tabBar_friendTrends_click_icon"];


    //4、我的控制器
    UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"DQMeViewController" bundle:nil];
    //加载箭头所指向的控制器
    DQMeViewController *me=[storyboard instantiateInitialViewController];
    [self addChildController:me andTitle:@"我" andImae:@"tabBar_me_icon" andSelectImage:@"tabBar_me_click_icon"];

    

    

}

-(void)addChildController:(UIViewController *)viewController andTitle:(NSString *)title andImae:(NSString *)image andSelectImage:(NSString *)selectImage{
    
    DQNavigationController *na=[[DQNavigationController alloc] initWithRootViewController:viewController];
    
    na.tabBarItem.title=title;
    //设置文本属性 可以设置文字的大小  是否空心 。。。。。
    //设置为可变字典
    NSMutableDictionary *attr=[NSMutableDictionary dictionary];
    attr[NSForegroundColorAttributeName]=[UIColor blackColor];
    [na.tabBarItem setTitleTextAttributes:attr forState:UIControlStateSelected];//选中状态下的文字颜色
    //字体大小只能在默认状态下设置
    NSMutableDictionary *font=[NSMutableDictionary dictionary];
    font[NSFontAttributeName]=[UIFont systemFontOfSize:15];
    [na.tabBarItem setTitleTextAttributes:font forState:UIControlStateNormal];
    
    //没选中状态
    na.tabBarItem.image=[UIImage imageNamed:image];
    //选中状态--与禁止渲染同一张图片
    //禁止渲染图片--对象方法
    //禁止渲染  分类：主要专门给系统的类写方法
    //子类重写（重载）--分类-----父类  分清谁先调用
    UIImage *imagenew=[UIImage imageRender:selectImage];//调用UIImage+image.h
    
    na.tabBarItem.selectedImage=imagenew;
    [self addChildViewController:na];
}


@end
